/***************************************************
 @Name :        小铭同学
 @Time :        2025-09-03
 @Email :       LiaoMingWJ233@163.com
 @Comment :     天气预报
 @FileName :    widget.h
 @Version :     1.0
****************************************************/


#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QStyle>
#include <QPainter>
#include <QStyleOption>
#include <QDebug>
#include <QAction>
#include <QFont>

#include "weather_json.h"
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QNetworkReply>
#include <QUrl>
#include <QUrlQuery>
#include <QByteArray>
#include <QMessageBox>

#include <QFile>
#include <QTextStream>
#include <QStringList>
#include <QThread>

#include <QLabel>
#include <QList>
#include <QPainter>
#include <QRegExp>
#include <QLinearGradient>
#include "weatherchart.h"
#include "weatherlowchart.h"

#include "syszuxpinyin.h"

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT
    
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    
    SyszuxPinyin *pinyinInput;  // 输入法
    
    // 建立网络对象
    QNetworkAccessManager * Network_Access;
    
    // 天气数据 json
    QByteArray Weather_Json_data;
    
    // 数据解析类
    weather_JSON info;
    
    QString text; // 获取输入 省 市 县
    
    QString county_whole; // 获取 县
    QString city_whole;   // 获取 市
    QString coding;       // 接收城市编码
    
    //today_weather; // 今天数据
    QList<Forecast> temp_whole; // 7天数据
    void Weather_week();
    
    void split(); // 拆分输入 省 市 县
    
    QString findCodeByCity(const QString &targetCity); // 从文本读取内容
    
    void Obtain_the_weather_information(); // 获取天气
 
    void setWeatherPixmap(QLabel* label, const QString& weatherType);
    
    void PushButton_Weather(QPushButton* PushButton);
    
private slots:
    void onReplied(QNetworkReply * reply);    
    void on_exit_clicked();
    
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
